/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.st.entity;

import org.hibernate.validator.constraints.Length;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 供应商档案Entity
 * @author HOHD
 * @version 2020-12-23
 */
@Table(name="st_supplier_record", alias="a", columns={
		@Column(name="id", attrName="id", label="id", isPK=true),
		@Column(name="supplier_code", attrName="supplierCode", label="供应商编号"),
		@Column(name="supplier_full_name", attrName="supplierFullName", label="全称", queryType=QueryType.LIKE),
		@Column(name="supplier_simple_name", attrName="supplierSimpleName", label="简称", queryType=QueryType.LIKE),
		@Column(name="supplier_type", attrName="supplierType", label="类型"),
		@Column(name="calc_type", attrName="calcType", label="结算方式"),
		@Column(name="default_rate", attrName="defaultRate", label="默认税率"),
		@Column(name="pay_time", attrName="payTime", label="付款账期"),
		@Column(name="money_type", attrName="moneyType", label="默认币别"),
		@Column(name="supplier_level", attrName="supplierLevel", label="等级"),
		@Column(name="area", attrName="area", label="地区"),
		@Column(name="pay_tax_number", attrName="payTaxNumber", label="纳税号"),
		@Column(name="address_phone", attrName="addressPhone", label="地址电话"),
		@Column(name="main_product", attrName="mainProduct", label="主营范围"),
		@Column(name="effect", attrName="effect", label="有效"),
		@Column(name="remarks", attrName="remarks", label="备注", queryType=QueryType.LIKE),
		@Column(name="use_supply_chain", attrName="useSupplyChain", label="启用供应链系统"),
	}, orderBy="a.id DESC"
)
public class StSupplierRecord extends DataEntity<StSupplierRecord> {
	
	private static final long serialVersionUID = 1L;
	private String supplierCode;		// 供应商编号
	private String supplierFullName;		// 全称
	private String supplierSimpleName;		// 简称
	private Integer supplierType;		// 类型
	private Integer calcType;		// 结算方式
	private String defaultRate;		// 默认税率
	private String payTime;		// 付款账期
	private Integer moneyType;		// 默认币别
	private Integer supplierLevel;		// 等级
	private String area;		// 地区
	private String payTaxNumber;		// 纳税号
	private String addressPhone;		// 地址电话
	private String mainProduct;		// 主营范围
	private Integer effect;		// 有效
	private Integer useSupplyChain;		// 启用供应链系统
	
	public StSupplierRecord() {
		this(null);
	}

	public StSupplierRecord(String id){
		super(id);
	}
	
	@Length(min=0, max=20, message="供应商编号长度不能超过 20 个字符")
	public String getSupplierCode() {
		return supplierCode;
	}

	public void setSupplierCode(String supplierCode) {
		this.supplierCode = supplierCode;
	}
	
	@Length(min=0, max=20, message="全称长度不能超过 20 个字符")
	public String getSupplierFullName() {
		return supplierFullName;
	}

	public void setSupplierFullName(String supplierFullName) {
		this.supplierFullName = supplierFullName;
	}
	
	@Length(min=0, max=20, message="简称长度不能超过 20 个字符")
	public String getSupplierSimpleName() {
		return supplierSimpleName;
	}

	public void setSupplierSimpleName(String supplierSimpleName) {
		this.supplierSimpleName = supplierSimpleName;
	}
	
	public Integer getSupplierType() {
		return supplierType;
	}

	public void setSupplierType(Integer supplierType) {
		this.supplierType = supplierType;
	}
	
	public Integer getCalcType() {
		return calcType;
	}

	public void setCalcType(Integer calcType) {
		this.calcType = calcType;
	}
	
	@Length(min=0, max=36, message="默认税率长度不能超过 36 个字符")
	public String getDefaultRate() {
		return defaultRate;
	}

	public void setDefaultRate(String defaultRate) {
		this.defaultRate = defaultRate;
	}
	
	@Length(min=0, max=36, message="付款账期长度不能超过 36 个字符")
	public String getPayTime() {
		return payTime;
	}

	public void setPayTime(String payTime) {
		this.payTime = payTime;
	}
	
	public Integer getMoneyType() {
		return moneyType;
	}

	public void setMoneyType(Integer moneyType) {
		this.moneyType = moneyType;
	}
	
	public Integer getSupplierLevel() {
		return supplierLevel;
	}

	public void setSupplierLevel(Integer supplierLevel) {
		this.supplierLevel = supplierLevel;
	}
	
	@Length(min=0, max=20, message="地区长度不能超过 20 个字符")
	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}
	
	@Length(min=0, max=20, message="纳税号长度不能超过 20 个字符")
	public String getPayTaxNumber() {
		return payTaxNumber;
	}

	public void setPayTaxNumber(String payTaxNumber) {
		this.payTaxNumber = payTaxNumber;
	}
	
	@Length(min=0, max=40, message="地址电话长度不能超过 40 个字符")
	public String getAddressPhone() {
		return addressPhone;
	}

	public void setAddressPhone(String addressPhone) {
		this.addressPhone = addressPhone;
	}
	
	@Length(min=0, max=20, message="主营范围长度不能超过 20 个字符")
	public String getMainProduct() {
		return mainProduct;
	}

	public void setMainProduct(String mainProduct) {
		this.mainProduct = mainProduct;
	}
	
	public Integer getEffect() {
		return effect;
	}

	public void setEffect(Integer effect) {
		this.effect = effect;
	}
	
	public Integer getUseSupplyChain() {
		return useSupplyChain;
	}

	public void setUseSupplyChain(Integer useSupplyChain) {
		this.useSupplyChain = useSupplyChain;
	}
	
}